package com.cxh.dao;

import tk.mybatis.mapper.common.Mapper;

import com.cxh.entity.CmdCollection;

import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 类说明：
 * @author ChenXH
 * @date   2019-01-04 16:06:48
 */
@Repository("cmdCollectionDao")
public interface CmdCollectionDao extends Mapper<CmdCollection> {//需要进行 继承Mapper

	/**
	 * 根据命令集Id获得命令单元列表
	 * @param orgId 机构Id
	 * @return
	 */
	List<Map<String, Object>> loadUnitByCmd(Integer cmdId);

	/**
	 * 根据命令集Id获得命令集信息
	 * @param cmdId 命令集Id
	 * @return
	 */
	Map<String, Object> loadCmd(Integer cmdId);
	
	/**
	 * @描述: TODO 根据Id查询
	 * @作者: AnHZ
	 * @参数： @param id
	 * @参数： @return    
	 */
	CmdCollection findById(Integer id);
	
	/**
	 * @描述: TODO 根据地图Id查询
	 * @作者: YangHL
	 * @参数： @param mapId
	 * @参数： @return    
	 */
	List<CmdCollection> loadCmdListByMap(Integer mapId);
	
	/**
	 * @描述: 根据命令集ID查询场景详情
	 * @作者: WangCY
	 * @参数： @param cmdId
	 * @参数： @return    
	 */
	Map<String, Object> loadCmdDetail(Integer cmdId);
	
	/**
	 * @描述: 查询命令集应用到了几个机器人身上
	 * @作者: WangCY
	 * @参数： @param cmdId
	 * @参数： @return    
	 */
	Map<String, Object> loadUseRobotNum(Map<String, Object> map);
	
	/**
	 * 根据命令集Id获的相关数据
	 * @param id
	 * @return
	 */
	Map<String,Object> findByObjId(Integer id);
	
	/**
	 * 获得机器人列表根据命令集Id以及用户
	 * @param map
	 * @return
	 */
	List<Map<String,Object>> findRobotByOptionAndCmd(Map<String,Object> map);
	
	List<Map<String,Object>> findRobotBySupserCmd(Map<String,Object> map);
	
	/**
	 * 倒叙查询指定条数的未同步数据（仅仅为数据迁移提供服务）
	 * @param countRow 数据条数
	 * @return
	 */
	List<Map<String,Object>> selectListBySynchronize(int countRow);

	/**
	 * 根据命令集Id获得命令集下的所有命令单元
	 * @param id
	 * @return
	 */
	List<Map<String,Object>> selectUnitListByCmdId(int id);

}
